package com.edais.service;

import java.util.List;
import java.util.Map;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;

import com.edais.domain.Finance;
import com.edais.domain.OrderFormRecharge;
import com.edais.vo.BankVo;
import com.edais.vo.UserBankCardVo;

@Service

public interface CenterService {
	
	/**
	 * 查询用户绑定的邀请码相关信息
	 * */
	public Map<String,String> getInviteCodeMsg(String userID) throws Exception;

	/**
	 * 获取支持的银行列表
	 * 
	 * 
	 * */
	public List<BankVo> getBanks(Map<String,Object> map) throws Exception;

	/**
	 * 查询回款卡号
	 * 
	 * */
	public UserBankCardVo getRecePayBank(Map<String,Object> map) throws Exception;

	UserBankCardVo getRecePayRouteBank(Map<String,Object> map) throws Exception;


	/**
	 * 获取鼓钱包标的列表
	 * 
	 * */
	public Map<String, Object> getReadyLoan(String loanStatus, String loantype, 
												Integer current, Integer pageSize) throws Exception;


	/**
	 * 根据订单号取得用户充值的基本信息
	 * 
	 * 
	 * */
	public OrderFormRecharge selectOrderFromRechargeByOrderId(String orderId)throws Exception;

	/**
	 * 调用核心接口
	 * 
	 * */
	public Map coreUse(String userId,String transCode,Map<String, Object> pageModel) throws Exception;
	

	public String checkPlanSellTime(String id) throws Exception;

	public Finance getFinanceplanDetail(String id, String flag) throws Exception;
	/**
	 * 判断用户输入的邀请码是否合法
	 * */
	public String checkInviteCode(String inviteCode,String userId) throws Exception;
	
	public Map<String, Object> getInvitationCdStus(String userId) throws Exception;
	
	public String setSeqCycleOrderNo() throws Exception;
	
	public Map<String,Object> buyPlan(Map<String,Object> map) throws Exception;
	
	public Map recharge(Map<String,Object> map) throws Exception;
	
	public boolean updOrderFormRechargeInit(Map<String,Object> map) throws Exception;
	
	public Map getCusBalance(Map<String,Object> map) throws Exception;
	
	public Map<String,Object> dealBuyProductByBalance(Map<String,Object> map)  throws Exception;
	
	public Map<String,Object> checkLoanStatus(Map<String,Object> map) throws Exception;
	public Map<String,Object> dealBuyBidByBalance(Map<String,Object> map)  throws Exception;
	
	public String checkdepositGetSellTime(String financeID) throws Exception;
	public Map<String, Object> getDepositGetDetail(String financeID) throws Exception;
	public Map dealBuyDepositGetByBalance(Map<String, Object> pageMode) throws Exception;
	
	
	public int updateOrderFromRechargeCoreStatus(OrderFormRecharge orderFormRecharge);
	
	public Map<String, Object> getAgrnoAndAssno(Integer bidId) throws Exception;

	public void updateOrderFilename(Map<String, String> paraMap);

}
